package com.hb.trade.server.project.order.controller;


import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.StrUtil;
import com.hb.core.pojo.enums.InvoiceTypeEnum;
import com.hb.core.pojo.parent.MPBaseController;
import com.hb.core.pojo.project.order.converter.InvoiceSubmitInfoConverter;
import com.hb.core.pojo.project.order.dto.*;
import com.hb.core.pojo.project.order.entity.Invoice;
import com.hb.core.pojo.project.order.entity.UserOrder;
import com.hb.trade.server.project.config.InvoiceConfig;
import com.hb.trade.server.project.order.service.InvoiceService;
import com.hb.trade.server.project.order.service.UserOrderService;
import com.hb.trade.server.project.util.InvoiceUtil;
import org.fzzn.core.model.enums.LogicEnum;
import org.fzzn.core.model.msg.Message;
import org.fzzn.core.util.Enums;
import org.fzzn.core.util.MsgUtil;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import org.springframework.web.bind.annotation.RestController;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 前端控制器
 * </p>
 *
 * @author jinhaolin
 * @since 2022-04-01
 */
@RestController
public class InvoiceController extends MPBaseController<Invoice, InvoiceService> {

    private final InvoiceSubmitInfoConverter invoiceSubmitInfoConverter;
    private final UserOrderService userOrderService;

    public InvoiceController(InvoiceService service,
                             UserOrderService userOrderService) {
        super(service);
        this.userOrderService = userOrderService;
        this.invoiceSubmitInfoConverter = InvoiceSubmitInfoConverter.INSTANCE;
    }

    @PostMapping("/invoice/issueOrdinaryElectronicInvoice")
    public Message<Boolean> issueOrdinaryElectronicInvoice(@RequestBody InvoiceSubmitInfoDTO invoiceSubmitInfoDTO) {
        String purchaserIdentification = invoiceSubmitInfoDTO.getPurchaserIdentification();
        if (StrUtil.isBlank(purchaserIdentification) || StrUtil.length(purchaserIdentification.trim()) < 15){
            return MsgUtil.fail("纳税人识别号不得少于15位");

        }
        Invoice invoice = invoiceSubmitInfoConverter.toData(invoiceSubmitInfoDTO);
        Invoice invoiceByOrderId = service.getInvoiceByOrderId(invoice.getOrderId());
        //如果发票开具成功直接返回
        if (invoiceByOrderId != null){
            return MsgUtil.fail("该笔订单已经开票发票,请勿重复开票");
        }
        //查询开票金额是否与实际支付金额一致
        UserOrder userOrder = userOrderService.getById(invoice.getOrderId());
        if (userOrder == null){
            return MsgUtil.fail("该笔订单不存在,不支持开票");
        }
        if (userOrder.getActualAmount() == null ||
                invoiceSubmitInfoDTO.getInvoiceAmount() == null ||
                userOrder.getActualAmount().compareTo(new BigDecimal(invoiceSubmitInfoDTO.getInvoiceAmount())) != 0){
            return MsgUtil.fail("实际支付金额与开票金额不一致,请重新开票");
        }
        //开具发票
        InvoicingResultDTO invoicingResultDTO = InvoiceUtil.invoice(InvoiceTypeEnum.ORDINARY_ELECTRONIC_INVOICE.getDicLabel(),
                invoiceSubmitInfoDTO.getInvoiceAmount(),
                invoiceSubmitInfoDTO.getPurchaserName(),
                invoiceSubmitInfoDTO.getPurchaserIdentification(),
                invoiceSubmitInfoDTO.getPurchaserAddress(),
                invoiceSubmitInfoDTO.getPurchaserPhone(),
                invoiceSubmitInfoDTO.getPurchaserBankAccount(),
                userOrder.getOutOrderNo()
        );
        //如果不成功 直接返回错误提示信息
        if (!String.valueOf(0).equals(invoicingResultDTO.getCode())){
            return MsgUtil.fail(invoicingResultDTO.getMessage());
        }
        invoice.setInvoiceType(InvoiceTypeEnum.ORDINARY_ELECTRONIC_INVOICE.getDicLabel());
        invoice.setSubmitTime(LocalDateTime.now());
        //如果库里开具发票成功
        if (invoiceByOrderId != null){
            invoice.setId(invoiceByOrderId.getId());
            invoice.buildBaseData(2);
        }else {
            invoice.buildBaseData(1);

        }
        invoice.setInvoiceSuccessFlag(LogicEnum.YES.getCode());
        BeanUtil.copyProperties(invoicingResultDTO,invoice);
        Boolean save = service.saveOrUpdate(invoice);
        Message<Boolean> msg = MsgUtil.msg(save);
        msg.setMessage(Enums.equals(LogicEnum.YES, InvoiceConfig.ceShiFlag) ? "测试环境" : "正式环境");
        return msg;
    }

    @PostMapping("/invoice/issueDedicatedElectronicInvoice")
    public Message<Boolean> issueDedicatedElectronicInvoice(@RequestBody InvoiceSubmitInfoDTO invoiceSubmitInfoDTO) {
        Invoice invoice = invoiceSubmitInfoConverter.toData(invoiceSubmitInfoDTO);
        invoice.setInvoiceType(InvoiceTypeEnum.DEDICATED_ELECTRONIC_INVOICE.getDicLabel());
        invoice.setSubmitTime(LocalDateTime.now());
        // TODO: jinhaolin 调用底层接口返回参数并赋值 invoice

        invoice.buildBaseData(1);
        boolean save = service.save(invoice);

        return MsgUtil.msg(save);
    }

    @PostMapping("/invoice/submitInformation")
    public Message<InvoiceDTO> submitInformation(@RequestBody GetInvoiceInfoDTO getInvoiceInfoDTO) {
        Invoice invoice = service.getInvoiceByOrderId(Long.valueOf(getInvoiceInfoDTO.getOrderId()));
        InvoiceDTO invoiceDTO = BeanUtil.copyProperties(invoice, InvoiceDTO.class);

        return MsgUtil.success(invoiceDTO);
    }

    /**
     *
     * @Description:下载发票pdf
     * @Author: zhongdl
     * @Date:2022/4/15 10:05
     * @param getInvoiceInfoDTO:
     * @return: {@link Message< InvoiceDTO> }
     **/
    @PostMapping("/invoice/invoicePdf")
    public Message<InvoiceDTO> invoicePdf(@RequestBody GetInvoiceInfoDTO getInvoiceInfoDTO){
        InvoiceDTO invoiceDTO = new InvoiceDTO();
        Invoice invoice = service.getInvoiceByOrderId(getInvoiceInfoDTO.getOrderId());
        if (invoice == null){
            return MsgUtil.fail("发票信息不存在,请先开具发票");
        }
        //测试环境先写死数据
        if (Enums.equals(LogicEnum.YES, InvoiceConfig.ceShiFlag)){
            invoiceDTO.setPdfUrl("https://fpcy.shandong.chinatax.gov.cn:8443/api?action=getDoc&code=037002100211_31865872_20220518_H4A4C1E7&type=3");
            invoiceDTO.setPdfCode("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SVEMCmVuZHN0cmVhbQplbmRvYmoKOCAwIG9iago8PC9GVC9TaWcvVChzaWdfZHpmcCkvViAxIDAgUi9GIDEzMi9UeXBlL0Fubm90L1N1YnR5cGUvV2lkZ2V0L1JlY3RbNDgwIC0xMCA1OTAgOTVdL0FQPDwvTiA3IDAgUj4+L1AgOSAwIFIvRFI8PC9YT2JqZWN0PDwvRlJNIDYgMCBSPj4+Pj4+CmVuZG9iagoxIDAgb2JqCjw8L1R5cGUvU2lnL0ZpbHRlci9BZG9iZS5QUEtMaXRlL1N1YkZpbHRlci9hZGJlLnBrY3M3LmRldGFjaGVkL1JlYXNvbij+/3U1W1BT0XloKS9Mb2NhdGlvbihDaGluYSkvUHJvcF9CdWlsZDw8L0FwcDw8L05hbWUoaVRleHSuIDUuNS4xMSCpMjAwMC0yMDE3IGlUZXh0IEdyb3VwIE5WIFwoQUdQTC12ZXJzaW9uXCkpPj4+Pi9Db250YWN0SW5mbygpL00oRDoyMDIyMDUxODEwMDUyMCswOCcwMCcpL0J5dGVSYW5nZSBbMCA5NTA2IDEzNTA4IDE2ODYzIF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC9Db250ZW50cyA8MzA4MjA1MWQwNjA5MmE4NjQ4ODZmNzBkMDEwNzAyYTA4MjA1MGUzMDgyMDUwYTAyMDEwMTMxMGIzMDA5MDYwNTJiMGUwMzAyMWEwNTAwMzAwYjA2MDkyYTg2NDg4NmY3MGQwMTA3MDFhMDgyMDMzNDMwODIwMzMwMzA4MjAyMThhMDAzMDIwMTAyMDIwNDU4MDFmMzc1MzAwZDA2MDkyYTg2NDg4NmY3MGQwMTAxMDQwNTAwMzA0MTMxMGIzMDA5MDYwMzU1MDQwNjEzMDI0MzRlMzEwZjMwMGQwNjAzNTUwNDA4MGMwNmU1OGM5N2U0YmFhYzMxMjEzMDFmMDYwMzU1MDQwMzBjMThlNzk0YjVlNWFkOTBlNThmOTFlN2E1YThlN2FkYmVlN2FiYTBlNGI4OTNlNzk0YTgzMDFlMTcwZDMyMzIzMDM0MzAzODMwMzAzMjMxMzQzMDVhMTcwZDM0MzIzMDM0MzAzMzMwMzAzMjMxMzQzMDVhMzA0YTMxMGIzMDA5MDYwMzU1MDQwNjEzMDI0MzRlMzExMjMwMTAwNjAzNTUwNDA3MGMwOWU1YjFiMWU0Yjg5Y2U3OWM4MTMxMjczMDI1MDYwMzU1MDQwMzBjMWVlNmIzOTVlNmFkYTNlNjk5YmFlODgzYmRlN2E3OTFlNjhhODBlNjljODllOTk5OTBlNTg1YWNlNThmYjgzMDgyMDEyMjMwMGQwNjA5MmE4NjQ4ODZmNzBkMDEwMTAxMDUwMDAzODIwMTBmMDAzMDgyMDEwYTAyODIwMTAxMDBhZjUyMDQ0YTc5ODk1ODUyM2Y0ZjkyYzIzMzk0YmZkM2U5YmY5YjdmZTk0MmUxMjRiYzU1Yzc0NWY2MzJlMGQ1MmU0OGEzODFkNDgxNTY3N2ZiNWM1ODA2N2U3Y2U2MmM3ZDQzODQ4Njk1NGYyYWI5MjUxYmYyYmI1MjdlMzAzZjllNzBlZmQ4MzFmOTNjODI5YTllYWQ2MTVlNTYwMDY2MGYzYTU1ODUxNjNlNjY1ZTExMjRhNGJlYTA2NGE2OGQ3MzliYTVkNDU0YzAzODA5ZWZkYjFlOTZmMWNmYzliYWU3ZmU2YWY3YWZmZjZmYzNiYjU3OTQyOGRhZDc5ODUzMDQyNmFjMTQzNjA4ZGI5NTRlZDJjMDQ3NTBlZmFkNmNjOWViODg0NzVmNWU2NzBiMmMxYjM0MjRjMDE2OTQ1NWI3MWQ3ZjIzNzk3YjdkNmM5Y2VmMWU2M2U0YmVjZDM1ZTAwMDU0N2ZhMDk3ODVlMzc1YThkY2E5YWFhZTI4ZDFlNTAzZWIxZGY3NmI1ZTMxZTU1ZWFlODc1OGE0MDk5ZjMzODY1YmNiNGZlN2U0M2I3YTBiZWI2OWNhOWFjZTRiYTZiODYxYWI4MTJmM2UxZmMzM2NhNzJhMDU4MDU4MjFmNjNiYWM5OTYyM2E4NTU2ZDQzMTM3NjdmNjVkNzI1OTAyMDMwMTAwMDFhMzI3MzAyNTMwMTMwNjAzNTUxZDI1MDQwYzMwMGEwNjA4MmIwNjAxMDUwNTA3MDMwMzMwMGUwNjAzNTUxZDBmMDEwMWZmMDQwNDAzMDIwNzAwMzAwZDA2MDkyYTg2NDg4NmY3MGQwMTAxMDQwNTAwMDM4MjAxMDEwMDM0NjcxZDYzYzQ3ZDkxNzE1OGQ4MGMxZTkzMjhmZjVlMzFjMjliODBjNzRmMjhhOTNlMzMxZWM1NzMxOTczN2FjMTA0Mjc4NGUwMzI0M2E2Yzk4MjNlMjk1YjA1ZmNmMmQ3MjlmOTA2NThkZDAzYWY4YWM2ZTViYmFiMjcxMjk1YjhkNTI0YzRjNTNlM2E0Y2FiNTc1ODI0M2IzZWY4NGQ2NjRkNzFlY2NjYzliYmExZGFlMDZhODkzZjg1OTdhNWYwYzZiYWU3NGRjYmVlOTg2MmJlNmRiMDExOGM2ZWRmYmM0MmVlNWY5YjZkMGIxZGNiMzc5YmIwYTUwY2Q1NjkwZjBhYjg5MDIyNWViOWVjNzhlMTc3MjRlNzA3NDNmMjBkMzdlNjIxOGIwMzUxNTRlMWNkZDg5M2NjNmVlYWFiMzcxM2M4ZGFmOWYyNzkzMzYyOTZjNmEwZDFmOTg4OWMzOGUzZTIxZjI3MTBmZmYyZTVjMmNkMzYwNDg1YTYyODAzNDJlOTE0MzZiNDc4ZmU5MDE2ZDhmMzE3MDM2Mzg5YWIzMmRjYWRlYWQwM2U2OTIzYThjZTUyMWViYzE2NzQxNGRkZjQ2Mzk4ZjFiYTA4MzUyYWJkZGEzNjE5ZDE2MzkyYzI1NWRkNThhZmNhOGIzZGRlYThiNGI1YzY0NzMzMzE4MjAxYjEzMDgyMDFhZDAyMDEwMTMwNDkzMDQxMzEwYjMwMDkwNjAzNTUwNDA2MTMwMjQzNGUzMTBmMzAwZDA2MDM1NTA0MDgwYzA2ZTU4Yzk3ZTRiYWFjMzEyMTMwMWYwNjAzNTUwNDAzMGMxOGU3OTRiNWU1YWQ5MGU1OGY5MWU3YTVhOGU3YWRiZWU3YWJhMGU0Yjg5M2U3OTRhODAyMDQ1ODAxZjM3NTMwMDkwNjA1MmIwZTAzMDIxYTA1MDBhMDNmMzAxODA2MDkyYTg2NDg4NmY3MGQwMTA5MDMzMTBiMDYwOTJhODY0ODg2ZjcwZDAxMDcwMTMwMjMwNjA5MmE4NjQ4ODZmNzBkMDEwOTA0MzExNjA0MTRjYWQ3ZTBjZmNhMDA3M2ZiODE3Yjc2NjVkYzJjY2U4ZTU2NThlOGRjMzAwZDA2MDkyYTg2NDg4NmY3MGQwMTAxMDEwNTAwMDQ4MjAxMDA2NTE1YWEyMWIzYzE0NDFhZWIwMjE2NGE3MjIwNTdlMGQ0MjFjMzNlM2VjYTJjNTUzNDliMzdlMjNjNDNlNDlkZWIwZGVkOGE0MTc0MGM0OTdjOTY4NWMwNjQ0NDVhNjEyYzZiNTY3YjNhM2I5NGU0N2ZlYjA0N2Q5MzMzMTNiYTU5ZWEwN2E3ZjdkMDlmZjc2MDNiZjkyZTdlMGVlZjgzMWMzNTc5NmI0MjdjNjcyYTM1NDlhZGM1MjEwZGNjNWU1OTE0OWVjMWZmNDg5ZWRiYzdmOTJjMzBhNzViZDNkYzM2NWQyZTg4MzQwMzA5NDIxNjA5ZjA5ZDVhN2E0MjQ0YTIwNmY2NTYwM2JhMjI4ZWY4YjU3YjFiODI3NjMyNTlmM2ZmY2MwYzlmM2Q2YTA4OTAzMWZmZDljMDIwZWZmNDk0Mjk2NTAzNTAxYjAyYmUwNjNjMDAwMmQ1MzEyMjc4ZGZkMTM4YzM4Y2I2MjVhNDdhOWIyNWJmOTc5NWJkNzRiZTFhMTJlOGYyZDA4OGZkZDBjNjQ5OTA4YWQ5MGMzZDNmMWEzNmRiNzJiNDkzMTQ1ZTNkNTU3ZTA1ZDMxNGM2ZDZhOTRjZjQyNzk3OGY5ZjUyMzBiYWE3ZjUyZTAxZTRjMzgwYjAxOGFiNzg3Y2RlNjEwNDg3ZDRmN2QyNTllODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD4vUmVmZXJlbmNlWzw8L1RyYW5zZm9ybU1ldGhvZC9Eb2NNRFAvVHlwZS9TaWdSZWYvVHJhbnNmb3JtUGFyYW1zPDwvUCAxL1YvMS4yL1R5cGUvVHJhbnNmb3JtUGFyYW1zPj4vRGF0YSAxMCAwIFI+Pl0+PgplbmRvYmoKMTEgMCBvYmoKPDwvVHlwZS9Gb250L0Jhc2VGb250L1phcGZEaW5nYmF0cy9OYW1lL1phRGIvU3VidHlwZS9UeXBlMT4+CmVuZG9iago3IDAgb2JqCjw8L1R5cGUvWE9iamVjdC9TdWJ0eXBlL0Zvcm0vUmVzb3VyY2VzPDwvWE9iamVjdDw8L0ZSTSA2IDAgUj4+Pj4vQkJveFswIDAgMTEwIDEwNV0vRm9ybVR5cGUgMS9NYXRyaXggWzEgMCAwIDEgMCAwXS9MZW5ndGggMjkvRmlsdGVyL0ZsYXRlRGVjb2RlPj5zdHJlYW0KeJwrVDBUMABCCJmcq6DvFuSr4JKvEMgFAE2IBcYKZW5kc3RyZWFtCmVuZG9iagoyIDAgb2JqCjw8L1R5cGUvWE9iamVjdC9TdWJ0eXBlL0Zvcm0vUmVzb3VyY2VzPDw+Pi9CQm94WzAgMCAxMDAgMTAwXS9Gb3JtVHlwZSAxL01hdHJpeCBbMSAwIDAgMSAwIDBdL0xlbmd0aCAxOC9GaWx0ZXIvRmxhdGVEZWNvZGU+PnN0cmVhbQp4nFNVcAl2yknMy+YCAA5XAs8KZW5kc3RyZWFtCmVuZG9iago2IDAgb2JqCjw8L1R5cGUvWE9iamVjdC9TdWJ0eXBlL0Zvcm0vUmVzb3VyY2VzPDwvWE9iamVjdDw8L24wIDIgMCBSL24yIDMgMCBSPj4+Pi9CQm94WzAgMCAxMTAgMTA1XS9Gb3JtVHlwZSAxL01hdHJpeCBbMSAwIDAgMSAwIDBdL0xlbmd0aCAzNC9GaWx0ZXIvRmxhdGVEZWNvZGU+PnN0cmVhbQp4nCtUMFQwAEIImZyroJ9noOCSrxDIVYgpYwSRAQAeEQr/CmVuZHN0cmVhbQplbmRvYmoKMyAwIG9iago8PC9UeXBlL1hPYmplY3QvU3VidHlwZS9Gb3JtL1Jlc291cmNlczw8L1hPYmplY3Q8PC9pbWcwIDQgMCBSL2ltZzEgNSAwIFI+Pj4+L0JCb3hbMCAwIDExMCAxMDVdL0Zvcm1UeXBlIDEvTWF0cml4IFsxIDAgMCAxIDAgMF0vTGVuZ3RoIDY5L0ZpbHRlci9GbGF0ZURlY29kZT4+c3RyZWFtCnicK1QwNDBTMABCC0M9I3MFIwVDQz0Lc4XkXAX9zNx0QwWXfIVALqcQLkOwIkOgAiOFkFwuiK6QFC5dOMs1hAsAf8YQCAplbmRzdHJlYW0KZW5kb2JqCjEyIDAgb2JqCjw8L0F1dGhvcihBZG1pbmlzdHJhdG9yKS9DcmVhdGlvbkRhdGUoRDoyMDE4MDYyNTE1MDY1NCswOCcwMCcpL0NyZWF0b3IoKS9LZXl3b3JkcygpL01vZERhdGUoRDoyMDIyMDUxODEwMDUyMCswOCcwMCcpL1Byb2R1Y2VyKEZveGl0IFBoYW50b21QREYgLSBGb3hpdCBDb3Jwb3JhdGlvbjsgbW9kaWZpZWQgdXNpbmcgaVRleHSuIDUuNS4xMSCpMjAwMC0yMDE3IGlUZXh0IEdyb3VwIE5WIFwoQUdQTC12ZXJzaW9uXCkpL1N1YmplY3QoKS9UaXRsZSj+/2cqVH1UXHIpPj4KZW5kb2JqCjEzIDAgb2JqCjw8L0xlbmd0aCAzNDkyL1R5cGUvTWV0YWRhdGEvU3VidHlwZS9YTUw+PnN0cmVhbQo8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjEuMC1qYzAwMyI+CiAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgeG1sbnM6YWRob2N3Zj0iaHR0cDovL25zLmFkb2JlLmNvbS9BY3JvYmF0QWRob2NXb3JrZmxvdy8xLjAvIgogICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICB4bWxuczpwZGY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGRmLzEuMy8iCiAgICAgICAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIgogICAgICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgICBhZGhvY3dmOnN0YXRlPSIxIgogICAgICBhZGhvY3dmOnZlcnNpb249IjEuMSIKICAgICAgZGM6Zm9ybWF0PSJhcHBsaWNhdGlvbi9wZGYiCiAgICAgIHBkZjpLZXl3b3Jkcz0iIgogICAgICBwZGY6UHJvZHVjZXI9IkZveGl0IFBoYW50b21QREYgLSBGb3hpdCBDb3Jwb3JhdGlvbjsgbW9kaWZpZWQgdXNpbmcgaVRleHTCriA1LjUuMTEgwqkyMDAwLTIwMTcgaVRleHQgR3JvdXAgTlYgKEFHUEwtdmVyc2lvbikiCiAgICAgIHhtcDpDcmVhdGVEYXRlPSIyMDE4LTA2LTI1VDE1OjA2OjU0KzA4OjAwIgogICAgICB4bXA6Q3JlYXRvclRvb2w9IiIKICAgICAgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMi0wNS0xOFQxMDowNToyMCswODowMCIKICAgICAgeG1wOk1vZGlmeURhdGU9IjIwMjItMDUtMThUMTA6MDU6MjArMDg6MDAiCiAgICAgIHhtcE1NOkRvY3VtZW50SUQ9InV1aWQ6OTM3NmE3OWQtNWJkMC00MGYyLWI2NjctMDI2NzAxMGMzNGZmIgogICAgICB4bXBNTTpJbnN0YW5jZUlEPSJ1dWlkOmE2ZmJkYWI4LWYyODUtNDk2Mi04NTczLTI0YzRjZTE4NTdjYiI+CiAgICAgIDxkYzpjcmVhdG9yPgogICAgICAgIDxyZGY6U2VxPgogICAgICAgICAgPHJkZjpsaT5BZG1pbmlzdHJhdG9yPC9yZGY6bGk+CiAgICAgICAgPC9yZGY6U2VxPgogICAgICA8L2RjOmNyZWF0b3I+CiAgICAgIDxkYzpkZXNjcmlwdGlvbj4KICAgICAgICA8cmRmOkFsdD4KICAgICAgICAgIDxyZGY6bGkgeG1sOmxhbmc9IngtZGVmYXVsdCIvPgogICAgICAgIDwvcmRmOkFsdD4KICAgICAgPC9kYzpkZXNjcmlwdGlvbj4KICAgICAgPGRjOnRpdGxlPgogICAgICAgIDxyZGY6QWx0PgogICAgICAgICAgPHJkZjpsaSB4bWw6bGFuZz0ieC1kZWZhdWx0Ij7mnKrlkb3lkI08L3JkZjpsaT4KICAgICAgICA8L3JkZjpBbHQ+CiAgICAgIDwvZGM6dGl0bGU+CiAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz4KZW5kc3RyZWFtCmVuZG9iagoxNCAwIG9iago8PC9UeXBlL0ZvbnQvU3VidHlwZS9UeXBlMC9CYXNlRm9udC9TVFNvbmctTGlnaHQtVW5pR0ItVUNTMi1IL0VuY29kaW5nL1VuaUdCLVVDUzItSC9EZXNjZW5kYW50Rm9udHNbMTUgMCBSXT4+CmVuZG9iagoxNiAwIG9iago8PC9UeXBlL0ZvbnQvU3VidHlwZS9UeXBlMS9CYXNlRm9udC9IZWx2ZXRpY2EvRW5jb2Rpbmc8PC9UeXBlL0VuY29kaW5nL0RpZmZlcmVuY2VzWzEvY29udHJvbFNUWC9jb250cm9sU09UL2NvbnRyb2xFVFgvY29udHJvbEVPVC9jb250cm9sRU5RL2NvbnRyb2xBQ0svY29udHJvbEJFTC9jb250cm9sQlMvY29udHJvbEhUL2NvbnRyb2xMRi9jb250cm9sVlQvY29udHJvbEZGL2NvbnRyb2xDUi9jb250cm9sU08vY29udHJvbFNJL2NvbnRyb2xETEUvY29udHJvbERDMS9jb250cm9sREMyL2NvbnRyb2xEQzMvY29udHJvbERDNC9jb250cm9sTkFLL2NvbnRyb2xTWU4vY29udHJvbEVUQi9jb250cm9sQ0FOL2NvbnRyb2xFTS9jb250cm9sU1VCL2NvbnRyb2xFU0MvY29udHJvbEZTL2NvbnRyb2xHUy9jb250cm9sUlMvY29udHJvbFVTL3NwYWNlL2V4Y2xhbS9xdW90ZWRibC9udW1iZXJzaWduL2RvbGxhci9wZXJjZW50L2FtcGVyc2FuZC9xdW90ZXNpbmdsZS9wYXJlbmxlZnQvcGFyZW5yaWdodC9hc3Rlcmlzay9wbHVzL2NvbW1hL2h5cGhlbi9wZXJpb2Qvc2xhc2gvemVyby9vbmUvdHdvL3RocmVlL2ZvdXIvZml2ZS9zaXgvc2V2ZW4vZWlnaHQvbmluZS9jb2xvbi9zZW1pY29sb24vbGVzcy9lcXVhbC9ncmVhdGVyL3F1ZXN0aW9uL2F0L0EvQi9DL0QvRS9GL0cvSC9JL0ovSy9ML00vTi9PL1AvUS9SL1MvVC9VL1YvVy9YL1kvWi9icmFja2V0bGVmdC9iYWNrc2xhc2gvYnJhY2tldHJpZ2h0L2FzY2lpY2lyY3VtL3VuZGVyc2NvcmUvZ3JhdmUvYS9iL2MvZC9lL2YvZy9oL2kvai9rL2wvbS9uL28vcC9xL3Ivcy90L3Uvdi93L3gveS96L2JyYWNlbGVmdC9iYXIvYnJhY2VyaWdodC9hc2NpaXRpbGRlL2NvbnRyb2xERUwvLm5vdGRlZi8ubm90ZGVmLy5ub3RkZWYvLm5vdGRlZi8ubm90ZGVmLy5ub3RkZWYvLm5vdGRlZi8ubm90ZGVmLy5ub3RkZWYvLm5vdGRlZi8ubm90ZGVmLy5ub3RkZWYvLm5vdGRlZi8ubm90ZGVmLy5ub3RkZWYvLm5vdGRlZi8ubm90ZGVmLy5ub3RkZWYvLm5vdGRlZi8ubm90ZGVmLy5ub3RkZWYvLm5vdGRlZi8ubm90ZGVmLy5ub3RkZWYvLm5vdGRlZi8ubm90ZGVmLy5ub3RkZWYvLm5vdGRlZi8ubm90ZGVmLy5ub3RkZWYvLm5vdGRlZi8ubm90ZGVmLy5ub3RkZWYvLm5vdGRlZi8ubm90ZGVmLy5ub3RkZWYvLm5vdGRlZi8ubm90ZGVmLy5ub3RkZWYvLm5vdGRlZi8ubm90ZGVmLy5ub3RkZWYvLm5vdGRlZi8ubm90ZGVmLy5ub3RkZWYvLm5vdGRlZi8ubm90ZGVmLy5ub3RkZWYvLm5vdGRlZi8ubm90ZGVmLy5ub3RkZWYvLm5vdGRlZi8ubm90ZGVmLy5ub3RkZWYvLm5vdGRlZi8ubm90ZGVmLy5ub3RkZWYvLm5vdGRlZi8ubm90ZGVmLy5ub3RkZWYvLm5vdGRlZi8ubm90ZGVmLy5ub3RkZWYvLm5vdGRlZi8ubm90ZGVmLy5ub3RkZWYvLm5vdGRlZi8ubm90ZGVmLy5ub3RkZWYvLm5vdGRlZi8ubm90ZGVmLy5ub3RkZWYvLm5vdGRlZi8ubm90ZGVmLy5ub3RkZWYvLm5vdGRlZi8ubm90ZGVmLy5ub3RkZWYvLm5vdGRlZi8ubm90ZGVmLy5ub3RkZWYvLm5vdGRlZi8ubm90ZGVmLy5ub3RkZWYvLm5vdGRlZi8ubm90ZGVmLy5ub3RkZWYvLm5vdGRlZi8ubm90ZGVmLy5ub3RkZWYvLm5vdGRlZi8ubm90ZGVmLy5ub3RkZWYvLm5vdGRlZi8ubm90ZGVmLy5ub3RkZWYvLm5vdGRlZi8ubm90ZGVmLy5ub3RkZWYvLm5vdGRlZi8ubm90ZGVmLy5ub3RkZWYvLm5vdGRlZi8ubm90ZGVmLy5ub3RkZWYvLm5vdGRlZi8ubm90ZGVmLy5ub3RkZWYvLm5vdGRlZi8ubm90ZGVmLy5ub3RkZWYvLm5vdGRlZi8ubm90ZGVmLy5ub3RkZWYvLm5vdGRlZi8ubm90ZGVmLy5ub3RkZWYvLm5vdGRlZi8ubm90ZGVmLy5ub3RkZWYvLm5vdGRlZi8ubm90ZGVmLy5ub3RkZWYvLm5vdGRlZi8ubm90ZGVmLy5ub3RkZWYvLm5vdGRlZi8ubm90ZGVmXT4+L0ZpcnN0Q2hhciAxL0xhc3RDaGFyIDI1NS9XaWR0aHNbMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAyNzggMjc4IDM1NSA1NTYgNTU2IDg4OSA2NjcgMTkxIDMzMyAzMzMgMzg5IDU4NCAyNzggMzMzIDI3OCAyNzggNTU2IDU1NiA1NTYgNTU2IDU1NiA1NTYgNTU2IDU1NiA1NTYgNTU2IDI3OCAyNzggNTg0IDU4NCA1ODQgNTU2IDEwMTUgNjY3IDY2NyA3MjIgNzIyIDY2NyA2MTEgNzc4IDcyMiAyNzgg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ZXRpY2EvRW5jb2RpbmcgMjMgMCBSL05hbWUvSGVsdi9TdWJ0eXBlL1R5cGUxL1R5cGUvRm9udD4+CmVuZG9iagoyMyAwIG9iago8PC9EaWZmZXJlbmNlc1syNC9icmV2ZS9jYXJvbi9jaXJjdW1mbGV4L2RvdGFjY2VudC9odW5nYXJ1bWxhdXQvb2dvbmVrL3JpbmcvdGlsZGUgMzkvcXVvdGVzaW5nbGUgOTYvZ3JhdmUgMTI4L2J1bGxldC9kYWdnZXIvZGFnZ2VyZGJsL2VsbGlwc2lzL2VtZGFzaC9lbmRhc2gvZmxvcmluL2ZyYWN0aW9uL2d1aWxzaW5nbGxlZnQvZ3VpbHNpbmdscmlnaHQvbWludXMvcGVydGhvdXNhbmQvcXVvdGVkYmxiYXNlL3F1b3RlZGJsbGVmdC9xdW90ZWRibHJpZ2h0L3F1b3RlbGVmdC9xdW90ZXJpZ2h0L3F1b3Rlc2luZ2xiYXNlL3RyYWRlbWFyay9maS9mbC9Mc2xhc2gvT0UvU2Nhcm9uL1lkaWVyZXNpcy9aY2Fyb24vZG90bGVzc2kvbHNsYXNoL29lL3NjYXJvbi96Y2Fyb24gMTYwL0V1cm8gMTY0L2N1cnJlbmN5IDE2Ni9icm9rZW5iYXIgMTY4L2RpZXJlc2lzL2NvcHlyaWdodC9vcmRmZW1pbmluZSAxNzIvbG9naWNhbG5vdC8ubm90ZGVmL3JlZ2lzdGVyZWQvbWFjcm9uL2RlZ3JlZS9wbHVzbWludXMvdHdvc3VwZXJpb3IvdGhyZWVzdXBlcmlvci9hY3V0ZS9tdSAxODMvcGVyaW9kY2VudGVyZWQvY2VkaWxsYS9vbmVzdXBlcmlvci9vcmRtYXNjdWxpbmUgMTg4L29uZXF1YXJ0ZXIvb25laGFsZi90aHJlZXF1YXJ0ZXJzIDE5Mi9BZ3JhdmUvQWFjdXRlL0FjaXJjdW1mbGV4L0F0aWxkZS9BZGllcmVzaXMvQXJpbmcvQUUvQ2NlZGlsbGEvRWdyYXZlL0VhY3V0ZS9FY2lyY3VtZmxleC9FZGllcmVzaXMvSWdyYXZlL0lhY3V0ZS9JY2lyY3VtZmxleC9JZGllcmVzaXMvRXRoL050aWxkZS9PZ3JhdmUvT2FjdXRlL09jaXJjdW1mbGV4L090aWxkZS9PZGllcmVzaXMvbXVsdGlwbHkvT3NsYXNoL1VncmF2ZS9VYWN1dGUvVWNpcmN1bWZsZXgvVWRpZXJlc2lzL1lhY3V0ZS9UaG9ybi9nZXJtYW5kYmxzL2FncmF2ZS9hYWN1dGUvYWNpcmN1bWZsZXgvYXRpbGRlL2FkaWVyZXNpcy9hcmluZy9hZS9jY2VkaWxsYS9lZ3JhdmUvZWFjdXRlL2VjaXJjdW1mbGV4L2VkaWVyZXNpcy9pZ3JhdmUvaWFjdXRlL2ljaXJjdW1mbGV4L2lkaWVyZXNpcy9ldGgvbnRpbGRlL29ncmF2ZS9vYWN1dGUvb2NpcmN1bWZsZXgvb3RpbGRlL29kaWVyZXNpcy9kaXZpZGUvb3NsYXNoL3VncmF2ZS91YWN1dGUvdWNpcmN1bWZsZXgvdWRpZXJlc2lzL3lhY3V0ZS90aG9ybi95ZGllcmVzaXNdL1R5cGUvRW5jb2Rpbmc+PgplbmRvYmoKMjQgMCBvYmoKPDwvQ291bnQgMS9LaWRzIDI1IDAgUi9UeXBlL1BhZ2VzPj4KZW5kb2JqCjI1IDAgb2JqCls5IDAgUl0KZW5kb2JqCjkgMCBvYmoKPDwvQ29udGVudHNbMjAgMCBSIDI2IDAgUiAyMSAwIFJdL0Nyb3BCb3hbMCAwIDYwOS40NCAzOTQuMDFdL01lZGlhQm94WzAgMCA2MDkuNDQgMzk0LjAxXS9QYXJhWE1MIDI3IDAgUi9QYXJlbnQgMjQgMCBSL1Jlc291cmNlczw8L0V4dEdTdGF0ZTw8L0dTMCAyOCAwIFI+Pi9Gb250PDwvQzJfMCAyOSAwIFIvS1NQRjI5IDMwIDAgUi9YaTAgMTQgMCBSL1hpMSAxNiAwIFIvWGkyIDE3IDAgUj4+L1Byb2NTZXRbL1BERi9UZXh0XS9YT2JqZWN0PDwvWGkzIDE4IDAgUj4+Pj4vUm90YXRlIDAvVHlwZS9QYWdlL0Fubm90c1s4IDAgUl0+PgplbmRvYmoKMTAgMCBvYmoKPDwvQWNyb0Zvcm08PC9EQSgvSGVsdiAwIFRmIDAgZyApL0RSPDwvRW5jb2Rpbmc8PC9QREZEb2NFbmNvZGluZyAyMyAwIFI+Pi9Gb250PDwvSGVsdiAyMiAwIFIvWmFEYiAxMSAwIFI+Pi9YT2JqZWN0PDwvRlJNIDYgMCBSPj4+Pi9GaWVsZHNbOCAw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PgplbmRvYmoKMzMgMCBvYmoKPDwvQmFzZUZvbnQvS2FpVGlfR0IyMzEyL0NJRFN5c3RlbUluZm8gMzUgMCBSL0ZvbnREZXNjcmlwdG9yIDM2IDAgUi9TdWJ0eXBlL0NJREZvbnRUeXBlMi9UeXBlL0ZvbnQvV1sxIDk1IDUwMCA3MzggODEzIDEwMDBdPj4KZW5kb2JqCjM0IDAgb2JqCjw8L1dbNzcxNiA3NzE2IDUwMCA4MTQgOTA3IDUwMF0vVHlwZS9Gb250L1N1YnR5cGUvQ0lERm9udFR5cGUyL0Jhc2VGb250L0thaVRpL0NJRFN5c3RlbUluZm88PC9SZWdpc3RyeShBZG9iZSkvT3JkZXJpbmcoR0IxKS9TdXBwbGVtZW50IDI+Pi9Gb250RGVzY3JpcHRvciAzNyAwIFI+PgplbmRvYmoKMzcgMCBvYmoKPDwvVHlwZS9Gb250RGVzY3JpcHRvci9Gb250TmFtZS9LYWlUaS9GbGFncyAzMi9JdGFsaWNBbmdsZSAwL0FzY2VudCA4NTkvRGVzY2VudCAtMTQwL0ZvbnRCQm94Wy00NiAtMTgzIDEwMzEgODU5XS9DYXBIZWlnaHQgNjg3L1N0ZW1WIDA+PgplbmRvYmoKMzggMCBvYmoKPDwvSUNWKEQ4RjYxNjc1MzdERjRBQTVBODUxRTYzMUQ3MzE2M0JBKS9UWVBFKFRFWFQpPj4KZW5kb2JqCjMyIDAgb2JqCjw8L0RvY0lDViAzOCAwIFIvTGFzdE1vZGlmaWVkKEQ6MjAyMTEyMDIyMDUzMDcrMDgnMDAnKT4+CmVuZG9iagp4cmVmCjAgMzkKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDA5MTczIDAwMDAwIG4gCjAwMDAwMTM5MTYgMDAwMDAgbiAKMDAwMDAxNDMxMCAwMDAwMCBuIAowMDAwMDAwMDE1IDAwMDAwIG4gCjAwMDAwMDUzMDQgMDAwMDAgbiAKMDAwMDAxNDA5MCAwMDAwMCBuIAowMDAwMDEzNzA5IDAwMDAwIG4gCjAwMDAwMDkwMjEgMDAwMDAgbiAKMDAwMDAyNDczMyAwMDAwMCBuIAowMDAwMDI1MDUwIDAwMDAwIG4gCjAwMDAwMTM2MzIgMDAwMDAgbiAKMDAwMDAxNDU2OSAwMDAwMCBuIAowMDAwMDE0ODUxIDAwMDAwIG4gCjAwMDAwMTg0MTkgMDAwMDAgbiAKMDAwMDAyMjQ2MCAwMDAwMCBuIAowMDAwMDE4NTQ1IDAwMDAwIG4gCjAwMDAwMjExODAgMDAwMDAgbiAKMDAwMDAyMTI2NyAwMDAwMCBuIAowMDAwMDIyMjY5IDAwMDAwIG4gCjAwMDAwMjI2NzIgMDAwMDAgbiAKMDAwMDAyMjc0OSAwMDAwMCBuIAowMDAwMDIzMzc1IDAwMDAwIG4gCjAwMDAwMjM0NjUgMDAwMDAgbiAKMDAwMDAyNDY1NyAwMDAwMCBuIAowMDAwMDI0NzA5IDAwMDAwIG4gCjAwMDAwMjUzNDQgMDAwMDAgbiAKMDAwMDAyODA4MiAwMDAwMCBuIAowMDAwMDI4MzAwIDAwMDAwIG4gCjAwMDAwMjgzNzQgMDAwMDAgbiAKMDAwMDAyODQ4NyAwMDAwMCBuIAowMDAwMDI1MzA4IDAwMDAwIG4gCjAwMDAwMjkzNTMgMDAwMDAgbiAKMDAwMDAyODgwOSAwMDAwMCBuIAowMDAwMDI4OTUxIDAwMDAwIG4gCjAwMDAwMjg1OTAgMDAwMDAgbiAKMDAwMDAyODY1NCAwMDAwMCBuIAowMDAwMDI5MTMwIDAwMDAwIG4gCjAwMDAwMjkyODMgMDAwMDAgbiAKdHJhaWxlcgo8PC9TaXplIDM5L1Jvb3QgMTAgMCBSL0luZm8gMTIgMCBSL0lEIFs8NGQwN2ExZDdhNzM4MDZlMzMwYTVmMzEwYmIyZmFlZDA+PGFlOWJiMDY3NjZhOGZiYWM0ZmRkODU3MTQ2ZjVjMTU4Pl0+PgolaVRleHQtNS41LjExCnN0YXJ0eHJlZgoyOTQyNgolJUVPRgo=");
            return MsgUtil.success(invoiceDTO);
        }
        if (StrUtil.isNotEmpty(invoice.getPdfUrl())){
            invoiceDTO.setPdfUrl(invoice.getPdfUrl());
            invoiceDTO.setPdfCode(invoice.getPdfCode());
            return MsgUtil.success(invoiceDTO);
        }
        //下载发票
        InvoicePdfDTO invoicePdfDTO = InvoiceUtil.invoicePdf(invoice.getInvoiceTime(),
                invoice.getInvoiceCode(),
                invoice.getInvoiceNumber());
        //如果不成功 直接返回错误提示信息
        if (!String.valueOf(0).equals(invoicePdfDTO.getCode())){
            String message = invoicePdfDTO.getMessage();
            return MsgUtil.fail(message);
        }
        BeanUtil.copyProperties(invoicePdfDTO,invoice);
        //更新开票的pdf
        boolean flag = service.updateById(invoice);
        invoiceDTO.setPdfUrl(invoicePdfDTO.getPdfUrl());
        invoiceDTO.setPdfCode(invoicePdfDTO.getPdfCode());
        return MsgUtil.success(invoiceDTO);
    }
}
